VSCodeでJupyter Notebookに依存しないPython Native REPLを使ってみた

VSCodeでJupyter Notebookに依存しないPython Native REPLを使ってみた

VSCodeでPython向け機能であるJupyter Notebookに依存しないNative REPLを使ってみました
Clock Icon2024.11.12

はじめに

こんにちは、アノテーションのなかたです。
今回は、VSCodeのPython向け機能であるNative REPLを使ってみました。

Native REPL とは?

簡単に言うと、Jupyter Notebook のようなUIで Python REPL を使用できる機能です。
Jupyter Notebook をインストールする必要なく使用でき、VSCode の Python向け機能として提供されています。
スクリーンショット 2024-11-12 11.09.54.png

起動方法

コマンドパレット(Command + Shift + P)からPython: Start Native REPL Pythonを選択することで、REPLページを起動できます。
スクリーンショット 2024-11-13 9.50.42

変数の確認が可能

上部のVariablesから REPL に格納されている変数の確認が可能です。
スクリーンショット 2024-11-12 11.49.57.png

割り込み機能

上部の割り込みを押下することで、実行しているコードをキャンセルできます。
スクリーンショット 2024-11-12 11.52.09.png
 スクリーンショット 2024-11-12 11.52.17.png

任意のPythonコードを選択して実行も可能

コードを選択し、右クリック > Pythonの実行 > Python REPLで選択範囲/行を実行するより実行できます。
スクリーンショット 2024-11-12 11.47.10.png

Jupyter Notebook との違い : コード実行順序について

(翻訳)この REPL は、履歴実行順序とその内容が不変であるという点で、Python 自体に組み込まれている REPL の原則に準拠しています。

Jupyter Notebook では実行したコードブロックを選択し再実行が可能ですが、Native REPLは標準のREPL仕様に従っており、再実行ができません
そのため、何度も値を変更して実行するようなユースケースでは、Jupyter Notebookを使用するのが良さそうです。

Native REPLのメリット

Jupyter Notebook と比較

  • 動作が軽い
  • Jupyter Notebookに依存しない
  • セルの再実行などJupyter Notebookおなじみの機能に対応していない

Python REPL と比較

  • 複数行にわたるコードのコピペで手間取らない
    「REPLでコピペしてコードを実行したいが、一部分だけコードを修正したい部分がある」というケースで、標準のREPLだとシェルの上キーと操作が被ってしまい、カーソルを戻す際に手間取ることがあります。
    Native REPLでは複数行のコード入力がサポートされているため、このようなケースで有効です。
  • 変数の確認が可能
  • シンタックスハイライトが効く

おわりに

Native REPLではPython REPLを手軽に使えて、最低限の機能が揃っています。
手軽に対話モードで実行したいなという際にマッチする機能なのではないでしょうか。

参考

https://code.visualstudio.com/docs/python/run#_native-repl
https://code.visualstudio.com/docs/python/python-quick-start#_run
https://news.mynavi.jp/techplus/article/20240607-2960893/

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.